package org.tabularium.gui;

/**
 * Instantiations of this interface are used to monitor the current
 * task progress, mostly for GUI notifications.  
 */
public interface ITaskProgress {

	/**
	 * Set true if the task is done. 
	 */
	public void setTaskDone(boolean done);

	/**
	 * Set the current percentage to task completion, from 0 to 100 (completed).
	 * If n = -1 the progress value will be used instead.
	 */
	public void setPercentage(int n);

	/**
	 * Set the current task progress.  
	 */
	public void setProgress(long n);

	/**
	 */
	public long getProgress();

	/**
	 */
	public int getPercentage();

	/**
	 */
	public boolean taskDone();

}
